package qlvbdq.controler;

import java.util.ArrayList;
import javax.swing.JOptionPane;
import qlvbdq.bo.KhachHangBO;
import qlvbdq.dto.KhachHangDTO;

/**
 *
 * @author THAI HA
 */
public class KhachHangControler {

    public KhachHangControler() {
    }

    public boolean insertKhachHang(KhachHangDTO khdto_) {
        KhachHangBO khbo = new KhachHangBO();
        if (khbo.insertKhachHang(khdto_)) {
            JOptionPane.showMessageDialog(null,
                    "Thêm khách hàng thành công",
                    "Thêm khách hàng",
                    JOptionPane.INFORMATION_MESSAGE);
            return true;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Thêm khách hàng thất bại",
                    "Thêm khách hàng",
                    JOptionPane.ERROR_MESSAGE);
            return false;
        }
    }

    public boolean deleteKhachHang(KhachHangDTO khdto_) {
        KhachHangBO khbo = new KhachHangBO();
        if (khbo.deleteKhachHang(khdto_)) {
            JOptionPane.showMessageDialog(null,
                    "Xóa khách hàng thành công",
                    "Xóa khách hàng",
                    JOptionPane.INFORMATION_MESSAGE);
            return true;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Xóa khách hàng thất bại",
                    "Xóa khách hàng",
                    JOptionPane.ERROR_MESSAGE);
            return false;
        }
    }

    public boolean updateKhachHang(KhachHangDTO khdto_) {
        KhachHangBO khbo = new KhachHangBO();
        if (khbo.updateKhachHang(khdto_)) {
            JOptionPane.showMessageDialog(null,
                    "Cập nhật khách hàng thành công",
                    "Cập nhật khách hàng",
                    JOptionPane.INFORMATION_MESSAGE);
            return true;
        } else {
            JOptionPane.showMessageDialog(null,
                    "Thêm khách hàng thất bại",
                    "Cập nhật khách hàng",
                    JOptionPane.ERROR_MESSAGE);
            return false;
        }
    }

    public String getNewMaKhachHang() {
        String maKhachHang = new KhachHangBO().getNewMaKhachHang();
        if (maKhachHang.isEmpty() || maKhachHang == null) {
            JOptionPane.showMessageDialog(null,
                    "Không thể tạo mã khách hàng mới",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
        return maKhachHang;
    }

    public ArrayList<KhachHangDTO> getAllKhachHang() {
        return new KhachHangBO().getAllKhachHang();
    }

    public ArrayList<KhachHangDTO> searchKhachHang(KhachHangDTO khdto_) {
        return new KhachHangBO().searchKhachHang(khdto_);
    }

    public KhachHangDTO getKhachHang(String maKhachHang_) {
        KhachHangDTO kh = new KhachHangBO().getKhachHang(maKhachHang_);
        if (kh == null) {
            JOptionPane.showMessageDialog(null,
                    "Khách hàng không tồn tại!",
                    "Error",
                    JOptionPane.ERROR_MESSAGE);
        }
        return kh;
    }
}
